<?
if (!isset($_SESSION))
{
  session_start();
}
include_once '../includes/config.php';
include_once '../includes/parcial.php';
$grupoId = $_SESSION['grupo_id'];
$GrupoServicios = new GrupoServicios();
$tratamiento = "";
if (isset($_POST['datos']))
{
  $datos = $_POST['datos'];
  $datos_array = explode("-", $datos);
  $fecha_recibida = $datos_array[0];
  $hora_recibida = $datos_array[1];
  $rServicios = new ReservaServicios();
  $tratamientos = $rServicios->buscarTratamientosDisponibles($fecha_recibida, $hora_recibida);
} else if (isset($_POST['fecha']))
{
  $datos = $_POST['fecha'];
  $datos_array = explode("-", $datos);
  $fecha_recibida = $datos_array[0];
  $hora_recibida = $datos_array[1];
  $tratamiento = $_POST["tratamiento"];
  $rServicios = new ReservaServicios();
  $tratamientos = $rServicios->buscarTratamientosDisponibles($fecha_recibida, $hora_recibida);
} else
{
  $fecha_recibida = "";
  $hora_recibida = "";
}
$descServicios = new DescuentoServicios();
$descuentos = $descServicios->listarKeyValue();
?>
<div id="contenedorNuevaReserva">
  <?php
  if ($GrupoServicios->puedeAgregarReservas($grupoId))
  {
    ?>
    <div>
      <div id="modulosRadiosTipoClientes">
        <div class="modulos">
          <?
          echo Helper::radioButtonHorizontal('tipoReserva', 'radioHotel', 'hotel', 'Hotel');
          echo Helper::radioButtonHorizontal('tipoReserva', 'radioEventual', 'eventual', 'Eventual');
          ?>
        </div>
      </div>
      <br/>
      <div id="reservaEventual" class="reserva">
        <form accept-charset="utf-8" id="formReservaEventual" action="">
          <div class="contenedorBotones">
            <?
            echo Helper::botonJquery('agregar', 'agregarEventual', 'Agregar');
            echo Helper::botonJquery('cancelar', 'cancelar', 'Cancelar');
            ?>
          </div>
          <div class="contenedorModulos">
            <div class="modulo">
              <?
              echo Helper::entradaTextoVerticalChica("Fecha", "70", $fecha_recibida, 'fecha_reserva', 'fecha');
              echo Helper::selectHorarioVertical("Hora", "hora_reserva", "hora_reserva", 55, $hora_recibida);
//            echo Helper::entradaTextoVertical("Hora", "55", $hora_recibida, 'hora_reserva', "hora");
//echo Helper::selectVertical('Tratamiento', array(), 'tratamiento_reserva','tratamiento_reserva','150');
              ?>
              <div class="entradaVertical navHorizontal">
                <label class="etiquetaAbm">Tratamiento</label><br/>
                <select class="tratamiento" style="width: 150px;" id="tratamiento_reserva" name="tratamiento_reserva">
                  <option value="">Seleccione</option>
                  <?php
                  for ($i = 0; $i < count($tratamientos); $i++)
                  {
                    $selected = $tratamientos[$i]->getId() == $tratamiento ? "selected='selected'" : "";
                    ?>
                    <option value="<?php echo $tratamientos[$i]->getId(); ?>" <?= $selected ?> ><?php echo $tratamientos[$i]->getNombre(); ?></option>
                    <?php
                  }
                  ?>
                </select>
              </div>
            </div>
            <div class="modulo">
              <?
              echo Helper::selectVertical('Terapeuta', array(), 'terapeuta_reserva', 'terapeuta_reserva', '150');
              echo Helper::selectVertical('Gabinete', array(), 'gabinete_reserva', 'gabinete_reserva', '150');
              ?>
            </div>
            <div class="modulo unaLinea" id="buscadorCliente">
              <?
              echo Helper::entradaTextoVertical("Cliente", "150", "", "cliente_reserva", "", "true");
              ?>
              <input type="hidden" id="cliente_reserva_id"/>
              <img id="buscarCliente" class="buscar" src="imagenes/lupa.png" alt="buscar" title="Buscar cliente"/>
            </div>
            <div class="modulo" id="moduloBuscarCliente">
            </div>
            <div class="modulo unaLinea" >
              <?= Helper::textAreaHorizontal("Observaciones", 5, 310, "", "observaciones_reserva") ?>
            </div>
            <div class="modulo unaLinea" >
              <?= Helper::selectVertical("Descuento", $descuentos, "descuento_reserva", "descuento_reserva", 161) ?>
            </div>
          </div>             
        </form>
      </div>
      <div id="reservaHotel" class="reserva">
        <form accept-charset="utf-8" id="formReservaHotel" action="">
          <div class="contenedorBotones">
            <?
            echo Helper::botonJquery('agregar', 'agregarHotel', 'Agregar');
            echo Helper::botonJquery('cancelar', 'cancelar', 'Cancelar');
            ?>
          </div>
          <div class="contenedorModulos">
            <div class="modulo">
              <?
              echo Helper::entradaTextoVerticalChica("Fecha", "70", $fecha_recibida, "fecha_reserva_hotel", "fecha");
              echo Helper::selectHorarioVertical("Hora", "hora_reserva_hotel", "hora_reserva_hotel", 55, $hora_recibida);
//            echo Helper::entradaTextoVertical("Hora", "55", $hora_recibida, "hora_reserva_hotel", "hora");
//echo Helper::selectVertical('Tratamiento', array(), 'tratamiento_reserva_hotel','tratamiento_reserva_hotel','150');
              ?>
              <div class="entradaVertica navHorizontal">
                <label class="etiquetaAbm">Tratamiento</label></br>
                <select class="tratamiento" style="width: 150px;" id="tratamiento_reserva_hotel" name="tratamiento_reserva_hotel">
                  <option value="">Seleccione</option>
                  <?php
                  for ($i = 0; $i < count($tratamientos); $i++)
                  {
                    $selected = $tratamientos[$i]->getId() == $tratamiento ? "selected='selected'" : "";
                    ?>
                    <option value="<?php echo $tratamientos[$i]->getId(); ?>" <?= $selected ?> ><?php echo $tratamientos[$i]->getNombre(); ?></option>
                    <?php
                  }
                  ?>
                </select>
              </div>
            </div>
            <div class="modulo">
              <?
              echo Helper::selectVertical('Terapeuta', array(), 'terapeuta_reserva_hotel', 'terapeuta_reserva_hotel', '150');
              echo Helper::selectVertical('Gabinete', array(), 'gabinete_reserva_hotel', 'gabinete_reserva_hotel', '150');
              ?>
            </div>
            <div class="modulo unaLinea" id="buscadorHabitacion">
              <?
              echo Helper::entradaTextoVertical("Habitacion", "150", "", "habitacion_reserva_hotel", "", "true");
              ?>
  <!--              <img id="buscarHabitacion" class="buscar" src="imagenes/lupa.png" alt="buscar" title="Buscar habitación"/>-->
            </div>
            <div class="modulo" id="moduloBuscarHabitacion">
            </div>            
            <div class="modulo unaLinea" >
              <?= Helper::textAreaHorizontal("Observaciones", 5, 310, "", "observaciones_hotel") ?>
            </div>
            <div class="modulo unaLinea" >
              <?= Helper::selectVertical("Descuento", $descuentos, "descuento_hotel", "descuento_hotel", 161) ?>
            </div>
          </div>    

        </form>
      </div>
    </div>
    <?php
  } else
  {
    echo "No tiene permisos para agregar reservas";
  }
  ?>
</div>
<script type="text/javascript">
  function ActualizarTratamientos(){
    var fecha = $("#fecha_reserva").val();
    var hora = $("#hora_reserva").val(); 
    if (fecha != "" && hora != ""){
      $.ajax({
        type: "POST",
        url: "buscarTratamientos.php",
        data: {fecha: fecha, hora: hora},
        dataType: "json",
        success: function(data){
          
          $("#tratamiento_reserva").html("");
          $("#tratamiento_reserva").append("<option value=''>Seleccione</option>");
          $.each(data, function(i, item){              
            $("#tratamiento_reserva").append("<option value='"+item.id+"'>"+item.nombre+"</option>");
          });
        }
      });
    }
  }
  $("#habitacion_reserva_hotel").tokenInput("buscarHabitacionesLista.php", {
    theme: "facebook",
    preventDuplicates: true, 
    searchingText: "<?= BUSCANDO ?>",
    hintText: "<?= AYUDA_TOKENINPUT ?>",
    noResultsText: "<?= SIN_RESULTADO_TOKENINPUT ?>",
    tokenLimit:1,
    onAdd: function() {
      recalcularAlturaTope($(this));
    },
    onReady: function() {
      registrarAlturaTokenInput($(this));
      recalcularAlturaTope($(this));
    }
  });
  function ActualizarTratamientosHotel(){
    var fecha = $("#fecha_reserva_hotel").val();
    var hora = $("#hora_reserva_hotel").val();
    if (fecha != "" && hora != ""){
      $.ajax({
        type: "POST",
        url: "buscarTratamientos.php",
        data: {fecha: fecha, hora: hora},
        dataType: "json",
        success: function(data){
          $("#tratamiento_reserva_hotel").html("");
          $("#tratamiento_reserva_hotel").append("<option value=''>Seleccione</option>");            
          $.each(data, function(i, item){              
            $("#tratamiento_reserva_hotel").append("<option value='"+item.id+"'>"+item.nombre+"</option>");
          });
        }          
      });
    }
  }
  
  $(document).ready(function(){
    $("#buscarCliente").insertAfter("#buscadorCliente label");
    $("#buscarHabitacion").insertAfter("#buscadorHabitacion label");    
    $('#fecha_reserva_hotel').datepicker( {
      dateFormat: 'dd/mm/yy',
      changeMonth: true,
      changeYear: true,
      showButtonPanel: true,
      closeText: "Cerrar"
      
    });
    $('#fecha_reserva').datepicker( {
      dateFormat: 'dd/mm/yy',
      changeMonth: true,
      changeYear: true,
      showButtonPanel: true,
      closeText: "Cerrar"
      
    });
    $("#formReservaEventual").validate(
    {
      rules: 
        { 
        fecha_reserva: "required",
        tratamiento_reserva: "required",
        terapeuta_reserva: "required",
        cliente_reserva: "required",
        gabinete_reserva: "required"
      },
      messages: 
        {
        fecha_reserva: "*",
        tratamiento_reserva: "*",
        terapeuta_reserva: "*",
        cliente_reserva: "*",
        gabinete_reserva: "*"
      }
    });
    $("#formReservaHotel").validate(
    {
      rules: 
        { 
        fecha_reserva_hotel: "required",
        tratamiento_reserva_hotel: "required",
        terapeuta_reserva_hotel: "required",
        gabinete_reserva_hotel: "required",
        habitacion_reserva_hotel: "required"
      },
      messages: 
        {
        fecha_reserva_hotel: "*",
        tratamiento_reserva_hotel: "*",
        terapeuta_reserva_hotel: "*",
        gabinete_reserva_hotel: "*",
        habitacion_reserva_hotel: "*"
      }
    });
    $("#hora_reserva, #hora_reserva_hotel").mask("9?9", {placeholder: " "});
     
    $("#fecha_reserva").change(function(){
      ActualizarTratamientos();
    });
     
    $("#hora_reserva").change(function(){
      ActualizarTratamientos();
    });
    $("#hora_reserva_hotel").change(function(){
      ActualizarTratamientosHotel();
    });
     
    $("#fecha_reserva_hotel").change(function(){        
      ActualizarTratamientosHotel();
    });
   
    $("#tratamiento_reserva").change(function(){
      var fecha=$("#fecha_reserva").attr("value");
      var hora=$("#hora_reserva").attr("value");
      var tratamiento=$(this).attr("value");
      $.ajax({
        type: "POST",
        url: "buscarTerapeutas.php",
        data: {fecha: fecha,hora : hora, tratamiento: tratamiento},
        dataType: "json",
        success: function(data){
          $("#terapeuta_reserva").html("");
          $("#terapeuta_reserva").append("<option value=''>Seleccione</option>");
          $.each(data, function(i, item){
            $("#terapeuta_reserva").append("<option value='"+item.id+"'>"+item.valor+"</option>");
          });
          $.ajax({
            type: "POST",
            url: "buscarGabinetesDisponibles.php",
            data: {fecha: $("#fecha_reserva").attr("value"),hora: $("#hora_reserva").attr("value"),tratamiento:$("#tratamiento_reserva").attr("value")},
            dataType: "json",
            success: function(data){
              $("#gabinete_reserva").html("");
              $("#gabinete_reserva").append("<option value=''>Seleccione</option>");
              $.each(data, function(i, item){
                $("#gabinete_reserva").append("<option value='"+item.id+"'>"+item.valor+"</option>");
              });
            }
          });
        }
      });
    });
    $("#tratamiento_reserva_hotel").change(function(){
      var fecha=$("#fecha_reserva_hotel").attr("value");
      var hora=$("#hora_reserva_hotel").attr("value");
      var tratamiento=$(this).attr("value");
      $.ajax({
        type: "POST",
        url: "buscarTerapeutas.php",
        data: {fecha: fecha,hora : hora, tratamiento: tratamiento},
        dataType: "json",
        success: function(data){
          $("#terapeuta_reserva_hotel").html("");
          $("#terapeuta_reserva_hotel").append("<option value=''>Seleccione</option>");
          $.each(data, function(i, item){
            $("#terapeuta_reserva_hotel").append("<option value='"+item.id+"'>"+item.valor+"</option>");
          });
          $.ajax({
            type: "POST",
            url: "buscarGabinetesDisponibles.php",
            data: {fecha: $("#fecha_reserva_hotel").attr("value"),hora: $("#hora_reserva_hotel").attr("value"),tratamiento:$("#tratamiento_reserva_hotel").attr("value")},
            dataType: "json",
            success: function(data){
              $("#gabinete_reserva_hotel").html("");
              $("#gabinete_reserva_hotel").append("<option value=''>Seleccione</option>");
              $.each(data, function(i, item){
                $("#gabinete_reserva_hotel").append("<option value='"+item.id+"'>"+item.valor+"</option>");
              });
            }
          });

        }
      });
    });
    $("#buscarCliente").click(function(){
      $("#moduloBuscarCliente").load("buscarClientesEventuales.php");
      $("#moduloBuscarCliente").show();
    });
    $("#buscarHabitacion").click(function(){
      $("#moduloBuscarHabitacion").load("buscarHabitacionReserva.php");
      $("#moduloBuscarHabitacion").show();
    });
    $("#cambiarCliente").live("click",function(){
      $("#clientesEventuales").show();
    });
    $("#cambiarHabitacion").live("click",function(){
      $("#moduloBuscarHabitacion").show();
    });
    $("input[name='tipoReserva']").change(function(){
      if ($(this).attr("value")=="hotel"){
        $("#reservaEventual").hide();
        $("#reservaHotel").show();
      }
      else{
        $("#reservaEventual").show();
        $("#reservaHotel").hide();
      }
    });
    $("#agregarEventual").click(function(event){
      event.preventDefault();
      if ( $("#formReservaEventual").validate().form()){
        var fecha = $("#fecha_reserva").val();
        var fechaObj = Date.parseString(fecha, "dd/MM/yyyy");
        var hora = $("#hora_reserva").val();
        var tratamiento = $("#tratamiento_reserva").val();
        var terapeuta = $("#terapeuta_reserva").val();
        var gabinete = $("#gabinete_reserva").val();
        var cliente = $("#cliente_reserva_id").val();
        var descuento = $("#descuento_reserva").val();
        var observaciones = $("#observaciones_reserva").val();
        if (cliente != ''){
          $.blockUI();
          $.ajax({
            type: "POST",
            url: "agregarReserva.php",
            data: {fecha: fecha,hora: hora, tratamiento: tratamiento, terapeuta: terapeuta, gabinete: gabinete, cliente: cliente, descuento: descuento, observaciones: observaciones},
            success: function(data){
              var res = $.parseJSON(data);
              if (res.Control==1){
                $.growlUI('Reserva creada..');
                ImprimirVoucher(res.id);              
                $("#cuerpo").load('grilla.php', {fechaNuevo:$.datepicker.formatDate( $.datepicker.ISO_8601, fechaObj) });
                $("#tope").html("");
                $("#tope").slideUp(1);
              }
              else{
                $.unblockUI();
                $.growlUI('No se pudo crear la Reserva..'); 
              }
              $.unblockUI();
            }
          });
        } else{
          $.unblockUI();
          $.growlUI('El cliente es un campo obligatorio'); 
        }
      }
      else{
        $.unblockUI();
        $.growlUI('Complete los campos obligatorios..'); 
      }
    });
    $("#agregarHotel").click(function(event){
      event.preventDefault();
      if ( $("#formReservaHotel").validate().form()){
        var fecha = $("#fecha_reserva_hotel").val();
        var fechaObj = Date.parseString(fecha, "dd/MM/yyyy");
        var hora = $("#hora_reserva_hotel").val();
        var tratamiento = $("#tratamiento_reserva_hotel").val();
        var terapeuta = $("#terapeuta_reserva_hotel").val();
        var gabinete = $("#gabinete_reserva_hotel").val();
        var habitacion = $("#habitacion_reserva_hotel").val();
        var descuento = $("#descuento_hotel").val();
        var observaciones = $("#observaciones_hotel").val();
        if (habitacion != ''){
          $.blockUI();
          $.ajax({
            type: "POST",
            url: "agregarReserva.php",
            data: {fecha: fecha, hora: hora, tratamiento: tratamiento, terapeuta: terapeuta, gabinete: gabinete, habitacion: habitacion, descuento: descuento, observaciones: observaciones},
            success: function(data){
              var res = $.parseJSON(data);
              if (res.Control==1){
                $.growlUI('Reserva creada..')
                ImprimirVoucher(res.id);
                $("#cuerpo").load('grilla.php', {fechaNuevo:$.datepicker.formatDate( $.datepicker.ISO_8601, fechaObj) });
                $("#tope").html("");
                $("#tope").slideUp(1);
                $.unblockUI();
              }
              else{
                $.unblockUI();
                $.growlUI('No se pudo crear la Reserva..'); 
              }
            }
          });
        }else{
          $.unblockUI();
          $.growlUI('La habitación es un campo obligatorio'); 
        }
      }
      else{
        $.unblockUI();
        $.growlUI('Complete los campos obligatorios..'); 
      }
    });
<?
if ($tratamiento != "")
{
  ?>
        $(".tratamiento").trigger("change");
        $(".tratamiento, .fecha, .hora").attr("disabled", true);
<? }
?>    
    $("#tope").height(450);    
  });
</script>